return g_strdupv (eps);
}
+static void
+gtk_gst_media_file_ensure_prepared (GtkGstMediaFile *self,
+ gint64 duration)
+{
+ if (gtk_media_stream_is_prepared (GTK_MEDIA_STREAM (self)))
+ return;
+
+ gtk_media_stream_prepared (GTK_MEDIA_STREAM (self),
+ TRUE,
+ TRUE,
+ TRUE,
+ duration);
+}
+
static void
gtk_gst_media_file_position_updated_cb (GstPlayer *player,
GstClockTime time,
GtkGstMediaFile *self)
{
+ gtk_gst_media_file_ensure_prepared (self, 0);
+
gtk_media_stream_update (GTK_MEDIA_STREAM (self), FROM_GST_TIME (time));
}
GstClockTime duration,
GtkGstMediaFile *self)
{
- if (gtk_media_stream_is_prepared (GTK_MEDIA_STREAM (self)))
- return;
-
- gtk_media_stream_prepared (GTK_MEDIA_STREAM (self),
- TRUE,
- TRUE,
- TRUE,
- FROM_GST_TIME (duration));
+ gtk_gst_media_file_ensure_prepared (self, FROM_GST_TIME (duration));
}
static void
gtk_gst_media_file_end_of_stream_cb (GstPlayer *player,
GtkGstMediaFile *self)
{
+ gtk_gst_media_file_ensure_prepared (self, 0);
+
if (gtk_media_stream_get_ended (GTK_MEDIA_STREAM (self)))
return;